Linking Programs in a Single Address Space
نویسندگان
چکیده
Linking and loading are the final steps in preparing a program for execution. This paper assesses issues concerning dynamic and static linking in traditional as well as single-address-space operating systems (SASOS). Related loading issues are also addressed. We present the dynamic linking model implemented in the Mungi SASOS and discuss its strengths and limitations. Benchmarking shows that dynamic linking in a SASOS carries significantly less overhead than dynamic linking in SGI’s Irix operating system. The same performance advantages could be achieved in Unix systems, if they reserved a portion of the address space for dynamically linked libraries, and ensured that each library is always mapped at the same address.
منابع مشابه
Cross-Address Space Dynamic Linking
We describe an algorithm and implementation of dynamic linking that allows one user process to link a program in another address space without compromising the security of the other address space and without requiring the linking process to enter kernel mode. The same technique can also be used to load program code into an existing address space, e.g., for debugging or other purposes. The imple...
متن کاملLinkage in the Nemesis Single Address
The recent interest in single address space operating systems has resulted in a number of papers, most of which gloss over the issues of linking programs to run in multiple protection domains. Some of the confusion about 64-bit address spaces is due to the almost pervasive use of UNIX and UNIX-like operating systems (such as Mach, Chorus and Amoeba) and languages with poor enforcement of abstra...
متن کاملSharing of Data and Code in Main Memory
The engineering of large software systems is greatly simplified if individual modules can be constructed separately and later linked together. This also permits the reuse of modules developed previously, and the use of libraries and other modules built by others, thus reducing the total software development cost. To facilitate the necessary cooperation, a flexible linking mechanism should be pr...
متن کاملMungi: a Distributed Single Address-space Operating System
With the development of 64-bit microprocessors, it is now possible to combine local, secondary and remote storage into a large single address-space. This results in a uniform method for naming and accessing objects regardless of their location, removes the distinction between persistent and transient data, and simplifies the migration of data and processes. This paper describes the Mungi single...
متن کاملA Secure, Language Independent, High Performance Component Interface
In this paper we examine three interfaces for secure method invocation in single-address-space operating systems. We examine the advantages and drawbacks of each model, and how these models relate to linking and loading in the single address space. A model is chosen based on its ability to securely interface multiple languages with low overhead.
متن کامل